/*
 * JS класс для построения несложного меню. позволяет организовавывать в виде пунктов UL список
 * Основная функция класса - навесить визуальные эффекты, подсвечивание пунктов при наведении
 * Для инициализации рекумендуется следующая форма
 * <ul onmouseover="new SimpleMenuu(this)>
 * ...
 * </ul>
 */

SimpleMenu = function (menuElementId)
{
	var 
		listOfItems = [];

	this.list = this.getElement(menuElementId);
	
	if (this.list.tagName.toLowerCase() != "ul") {
		alert("SimpleMenu class possible to apply only for UL objects");
		return false;
	}

	listOfItemElements = this.list.getElementsByTagName("LI");
	for (var i=0; i<listOfItemElements.length; i++)
		listOfItems[i] = new this.Item(listOfItemElements[i]);
}

SimpleMenu.prototype.add = function (content) {
	var newLi = document.createElement("LI");
	if (typeof content == "object") {
		newLi.appendChild(content);
	} else {
		newLi.innerHTML =  content;
	}
	this.list.appendChild(newLi);
	new this.Item(newLi)
}

SimpleMenu.prototype.getElement = function (el)
{
	if (typeof el == "string")
		return document.getElementById(el);
	else
		return el;
}

SimpleMenu.prototype.Item = function (liElement) 
{
	var self = this;
	if (navigator.appName=="MSIE" || navigator.appName.indexOf('Microsoft')!='-1') {
		liElement.attachEvent("onmouseover", function () { self.setMouseOver(liElement) });
		liElement.attachEvent("onmouseout", function () { self.setMouseOut(liElement) });
	} else {
		liElement.addEventListener("mouseover", function () { self.setMouseOver(liElement) },true);
		liElement.addEventListener("mouseout", function () { self.setMouseOut(liElement) },true);	
	}
//this.className = "mouseover"
}

SimpleMenu.prototype.Item.prototype.setMouseOver = function (itemEl) 
{
	itemEl.className = 'mouseover';
}

SimpleMenu.prototype.Item.prototype.setMouseOut = function (itemEl) 
{
	itemEl.className = '';
}